import React from 'react'
import { NativeProps } from '../../utils/native-props'
import { PropagationEventType } from '../../utils/with-stop-propagation'

export type EllipsisProps = {
  /** 文本内容 */
  content: string
  /** 省略位置. default: `end` */
  direction?: 'start' | 'middle' | 'end'
  /** 展示几行. default: `1` */
  rows?: number
  /** 展开操作的文案. default: - */
  expandText?: React.ReactNode
  /** 收起操作的文案 default: - */
  collapseText?: React.ReactNode
  /** 默认是否展开. default: `false` */
  defaultExpanded?: boolean
  /** 点击文本内容时触发. default: () => {} */
  onContentClick?: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void
  /** 阻止展开操作，收起操作 引发的事件冒泡. default: `['click']` */
  stopPropagationForActionButtons?: PropagationEventType[]
} & NativeProps

export type EllipsisedValue = {
  /** 左侧文本 */
  leading?: string
  /** 右侧文本 */
  tailing?: string
}
